/*
 * @Descripttion:
 * @version:
 * @Author: lfzxs@qq.com
 * @Date: 2022-11-12 09:56:37
 * @LastEditors: lfzxs@qq.com
 * @LastEditTime: 2022-11-12 11:17:25
 */
package file

import (
	"io"
	"time"
)

// 文件信息
type fileInfo struct {
	// 文件名
	Name string
	// 文件大小
	Size int64
	// 路径
	Path string
	// 文件类型
	Format string
	// 扩展名
	Ext string
	// 创建时间
	CreateTime time.Time
	// 修改时间
	ModifyTime time.Time
	// 其他属性
	Attribute map[string]string
}

type fileMeta struct {
	//文件
	File fileInfo
	//原始文件
	OriginalFile fileInfo
	//功能文件,缩略图之类
	FunctionFile map[string]fileInfo
}

type filePolicy interface {
	// 获取文件流
	OpenReadStream(f fileInfo) (r io.Reader, err error)
}
